CMU [卡内基梅隆大学] 镇校深课 : 深入理解计算机系统 CSAPP 每章节附带 lab 实验
内容是通过手写计算机系统的相关代码提升学生对于计算机体系的整体理解和细节处理,采用 C语言和汇编
课程网站:http://csapp.cs.cmu.edu/课程视频:https://www.bilibili.com/video/BV1iW411d7hd课程教材:Computer Systems: A Programmer's Perspective, 3/E课程作业:11 个 Project,代码框架全部开源值得一提的是, CSAPP 也是 HIT(哈尔滨工业大学), PKU(北京大学) 计算机考研的考试书籍
HIT 课程资料取自仓库 : https://github.com/LMC117/HIT-CSAPP-2021Spring
开始使用虚拟机部署实验环境 (推荐)
如果你有一台运行 Linux 系统的 64 位虚拟机, 那么部署环境将会变得非常简单
如果你没有虚拟机 , 可以自行搜索网上的资料学习安装
步骤如下 :
在你的虚拟机上安装 git
# debian/ubuntusudo apt install git -y# centos/rehlsudo yum install git -y克隆本仓库
git clone https://github.com/yyym-y/CMU-CSAPP.git进入每一个 lab , 删掉 lab 中的 handout 文件夹
我们拿 datalab 举例, 进入 datalab 文件夹, 删除 datalab-handout 文件夹
所有 handout 文件夹是我本人对于这个 lab 的实现方式
解压对应的 handout.tar 压缩包
进行玩这一步后, 会有一个全新的对应 lab 的 handout 文件夹
之后见招拆招即可
在 lab 的 handout 文件夹内执行 make 命令
缺少什么资源, 库, 包 就安装什么即可
使用 docker 部署环境
参考自知乎文章 : CSAPP一键环境配置、完成8个lab总结 - 知乎 (zhihu.com)
首先你需要有一台 Linux 计算机或者一台搭载 Linux 环境的虚拟机
其次在这台 Linux 机器上, 你需要有可以运行的 Docker 软件, 接着只需要一步步执行一下的代码
docker pull linxi177229/csapp:latestdocker imagesdocker run --name csapp -itd linxi177229/csapp docker attach csapp这样你就进入了实验的环境了,以后再想要进入只需要执行两个命令
docker start csappdocker attach csapp有些时候会发现 docker 命令无法使用, 可能是docker 没有启动, 这时候执行以下命令
systemctl start docker退出环境使用 :
exit本实验环境包含以下软件 : git , gcc , tar
不包括 vim, vi, yum
如何更新你的文件, 这就八仙过海各显神通了
测试你的答案每一个 lab 对应的测试方法不同, 需要查看对应的实验文档
如果你对英文阅读有障碍, 也可以看我的实验笔记, 会详细说明如何测试
笔记各个 lab 的笔记都在 note文件夹里(包括原文档 / 我的笔记[.md] / 我的笔记 [.pdf])
同时笔记也会发布到知乎上
CSAPP - 信息的表示和处理 : https://zhuanlan.zhihu.com/p/666331015CSAPP-